home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group97a.txt / 000044_icon-group-sender _Mon Feb 24 10:19:49 1997.msg < prev    next >
Internet Message Format  |  2000-09-20  |  7KB

  1. Received: by cheltenham.cs.arizona.edu; Mon, 24 Feb 1997 12:23:44 MST
  2. To: icon-group@cs.arizona.edu
  3. Date: Mon, 24 Feb 1997 10:19:49 -0500
  4. From: Jan Galkowski <jan@solstice.digicomp.com>
  5. Message-Id: <3311B195.794BDF32@solstice.digicomp.com>
  6. Organization: Digicomp Research Corporation
  7. Sender: icon-group-request@cs.arizona.edu
  8. References: <330DAC29.41C67EA6@solstice.digicomp.com>, <5ekvhb$7md@nef.ens.fr>
  9. Subject: Re: What's the biggest Icon program you've written?
  10. Errors-To: icon-group-errors@cs.arizona.edu
  11. Status: RO
  12. Content-Length: 6702
  13.  
  14. Marc Espie wrote:
  15. > In article <330DAC29.41C67EA6@solstice.digicomp.com>,
  16. > Jan Galkowski  <jan@solstice.digicomp.com> wrote:
  17.  
  18. [snip]
  19.  
  20. > A set of functions to manipulate some combinatorial graphs, and display
  21. > the result graphically.
  22. > Roughly 4000 lines (wc says 3936  11172 82247) for the total.
  23.  
  24. Marc,
  25.  
  26.     Thanks to you and to the others that have responded, for your replies.
  27. I am responding to yours because of your solicitation, and because I wanted
  28. to ask some questions.  I intended to summarize what I've found after the
  29. question has "been on the books" for a while.  All responses have been
  30. interesting.
  31.  
  32. > I've got into the main pitfall of Icon: forgetting about failure.
  33. > writing stuff such as i <- value & function(i)
  34. > forgetting that function(i) was not returning anything, or using
  35. > suspended generators, and having them resumed and backtracking and... well,
  36. > ending up with the assignment to i being cancelled where it was not
  37. > intended.
  38.  
  39.     This is interesting.  I would have thought notions of success and failure,
  40. a la logic programming, was a big reason for using Icon.  It is bound to have
  41. serious impacts upon one's design and programming styles if one plans to use it.
  42.  
  43. > The biggest problems I've run into are some limitations of Icon.  There are
  44. > no modules, no import/export mechanism for big projects.
  45.  
  46.     IMO, I'm not sure these are as much limitations of Icon as taking where it
  47. hasn't received much use or wasn't intended to be used.  I can't really answer
  48. that, of course.  I feel it is someplace where it would be useful to have some
  49. support.  But I don't know whether Idol-like solutions are right.  In fact, I
  50. tend to doubt they are.  And I feel I don't want to clutter up the presently
  51. pretty language with other than more built-ins.  That is, I wouldn't want to
  52. change the syntax in any way that would require, for instance, some declarative
  53. sugar on every procedure.
  54.  
  55.     And also, it's not clear that ways of controlling and organizing many small
  56. pieces of text, each with a local scope, belong in a programming language.  I
  57. am in favor of something being there which facilitates this, but that is hardly
  58. a universal or a compelling view. 
  59.  
  60. [snip]
  61.  
  62. > I'm also missing features such as manifest constants. The preprocessor is
  63. > not such a great solution when you end up with a trace that mentions `2'
  64. > and you wrote HIGHLIGHT_COLOR in your source.
  65.  
  66.    This is a problem with a preprocessor, I imagine.  One would almost need
  67. to have a backtrace log of substitutions for an error system to be able
  68. to figure out what the original references were.  Is it worth it?
  69.  
  70. [snip]
  71.  
  72. > I very seldom need co-expressions.  Knowing how they are implemented
  73. > makes them somewhat unsafe for `production' code...
  74. [snip]
  75.  
  76.     Can you be more explicit here?  As far as I know, co-expressions and
  77. the whole generator thing is supported for the Unix world, and for the
  78. DOS world, and at the ProIcon level for the Macintosh world.  That's a chunk
  79. of space.  What in particular do you find "unsafe"?
  80.  
  81. > I'm sincerely hoping they will get better one day. I have a feeling that
  82. > Icon could deal with multi-threaded applications very nicely with just
  83. > a tweak of the coexpression mechanism.
  84.  
  85.     I disagree.  IMO, I think these are two similar things with vastly
  86. different reasons for existence and destinies.  The co-expression mechanism
  87. is a highly distilled and easy to control form of search in the manner of
  88. the AI and logic languages, all the way back to PLANNER and unification,
  89. with the programmer calling most of the shots.
  90.  
  91. [snip]
  92.  
  93. > I've somewhat stopped trying to `sell' Icon to anybody... about the time
  94. > I stopped selling the Amiga to anybody, for mostly the same reasons.
  95.  
  96.   I didn't meaning "selling" in the evangelical sense but, rather, in a business
  97. case to immediate management.  And, if I may read into your post, do you 
  98. mean you feel Icon is as dead as the Amiga is?
  99.  
  100. > There are some arresting problems.
  101. > The fact that Icon is supported by a rather small development team (for
  102. > instance, compiler work is stopped) is a problem. 
  103.  
  104.    I respectfully disagree.  If anything characterizes Icon's implementations,
  105. IMO, it is that elusive attribute called "coherence".  Its opposite is the MS
  106. treatment of a software megolith like Visual Basic. 
  107.  
  108. [snip]
  109.  
  110. > Also, the Icon book is rather hard to come by, for instance.
  111. > You won't find it in specialized libraries, and will have to special-order it.
  112. > All this means that Icon has almost a non-image.
  113.  
  114.    IMO, I think publicization is up to us, the users.  I find the Icon Project an
  115. easy and ready source of documentation.  I feel they are like small businesspeople--
  116. they can't expand without justifying their costs on their existing cash flow.
  117.  
  118. [snip]
  119.  
  120. > There is such a wealth of perl programmers/perl development these days that
  121. > is very difficult to match with Icon. For instance, the text editor nvi
  122. > does procure an interface to perl...
  123.     The "effort threshold" to acceptance of Icon is its innovative concepts.
  124. Without these, such as its ideas on elevating success and failure, it would not
  125. be Icon.  But these new ideas are its raison d'etre, not an obstacle.  
  126.  
  127.     No, I think the problem, rather, is in the way programming is done and
  128. promulgated.  People seem to want to get as much as possible for as little
  129. as possible invested.  While that may be a good model for capital accumulation,
  130. it's not how much of the world works.  One isn't going to make major headway
  131. towards solving difficult software issues and problems without a correspondingly
  132. major change in the way programming is practiced.  It is an exaggeration, but
  133. I would argue that other than means of classifying and tagging small pieces of
  134. text, much of programming practice hasn't advanced much beyond FORTRAN, despite
  135. increases in hardware capability of a hundred thousandfold.
  136.  
  137.    I feel the obstacles one sees to Icon are no different than some of those
  138. to APL or to logic programming in, say, Prolog:  It's just too different a 
  139. mindset.  But, also, I think a paraphrase of the biologists' Law of the
  140. Unspecialized applies here: The next major technology does not generally come 
  141. as a refinement of the mainstream of a previous one but, rather, as a 
  142. dramatic development from what appears to be a curious and isolated
  143. backwater which may, to some, even seem a cul de sac.
  144.  
  145. [snip]
  146.  
  147.    I cannot, in any way, speak for the Icon Project, of course, just as a
  148. very interested user of Icon who has knocked around in strange programming
  149. environments for several  years.
  150.  
  151. -- 
  152.  Jan Theodore Galkowski,
  153.     Developer, tool & numerical methods elf
  154.  Digicomp Research Corporation,
  155.  Ithaca, NY 14850-5720
  156.